課程資訊
課程名稱
資料結構與程式設計
Data Structure and Programming 
開課學期
104-2 
授課對象
電機資訊學院  電機工程學系  
授課教師
顏嗣鈞 
課號
EE3011 
課程識別碼
901 31900 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二2,3,4(9:10~12:10) 
上課地點
博理113 
備註
總人數上限:100人 
課程網頁
http://iphotonics.dyndns.org/dwhuang/courses/ds/ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

1. PRELIMINARIES: Introduction. Asymptotic Notations, Algorithm Analysis
2. ABSTRACT DATA TYPES: Stacks. Queues. Lists. List operations. List representations. List traversals. Doubly linked lists.
3. TREES: Tree operations. Tree representations. Tree traversals. Threaded trees. Binary trees. AVL trees. 2-3 trees. B-trees. Red-black trees. Binomial trees. Splay trees, AA-trees and more.
4. HASHING: Chaining. Open addressing. Collision handling.
5. PRIORITY QUEUES: Binary heaps. Binomial heaps. Fibonacci heaps. Leftist heaps, Skew heaps, Min-max heaps, Pairing heaps
6. AMORTIZED ANALYSIS
7. SORTING: Insertion sort. Selection sort. Quicksort. Heapsort. Mergesort. Shellsort. Lower bound of sorting.
8. DISJOINT SETS: Set operations. Set representations. Union-find. Path compression.
9. GRAPHS: Graph operations. Graph representations. Basic graph algorithms. Algorithm design techniques
10. ADVANCED DATA STRUCTURES: Tries, Skip lists Treaps, Top-down splay trees 

課程目標
The purpose of the course is two-fold:
-- learning basic/advanced data structures for solving problems efficiently
-- strengthening programming skills 
課程要求
Homework + Programming Assignment 20-30%

Midterm 35-40%

Final exam 35-40%  
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
教科書: To be announced in class 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
無資料